Computing and communication networks typically include network devices, such as routers, firewalls, switches, or gateways, which transfer or switch data, such as packets, from one or more sources to one or more destinations. Network devices may operate on the packets as the packets traverse the network, such as by forwarding or filtering the packet-based network traffic.
A multicast operation requires a copy of a packet to be delivered to every line card (e.g., packet forwarding engine (PFE) of a network device) that has interfaces participating in a multicast group. When a large number of PFEs need to be reached in a multicast operation, performing all the necessary replications of the packet on an ingress PFE results in oversubscription of the ingress PFE's processing capacity and bandwidth into the fabric of the network device. Using a binary replication tree scheme, where each PFE sends no more than two copies of the packet into the fabric, can solve such problems. However, when a multicast topology changes in the binary replication tree scheme, all of the PFEs of the network device need to update their local state, which can take a long time. Furthermore, in the binary replication tree scheme, while the multicast tree is being updated in every PFE, it is difficult to guarantee that the tree remains consistent, and a copy of every packet is delivered to every participating PFE.